package com.dwxt.cdms.service;


import com.dwxt.cdms.dao.base.GlobalSystemParamMapper;
import com.dwxt.cdms.entity.base.GlobalSystemParam;
import com.dwxt.cdms.exception.CustomException;
import com.dwxt.cdms.util.UUIDUtil;
import com.dwxt.cdms.vo.base.GlobalSystemParamVo;
import com.dwxt.common.base.StatusCode;
import com.github.pagehelper.PageHelper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class GlobalSystemParamService{

	private final GlobalSystemParamMapper globalSystemParamMapper;

	/**
	 * @方法名：selectGlobalSystemParamList
	 * @描述： 根据条件查询全局异常参数
	 * @作者： kjz
	 * @日期： Created in 2020/9/11 12:02
	 */
    public List<GlobalSystemParam> selectGlobalSystemParamList(GlobalSystemParamVo globalSystemParamVo) {
    	PageHelper.startPage(globalSystemParamVo.getPageNum(),globalSystemParamVo.getPageSize());
    	List<GlobalSystemParam> list = this.globalSystemParamMapper.selectGlobalSystemParamList(globalSystemParamVo);
    	return list;
    }

    /**
     * @方法名：insertGlobalSystemParam
     * @描述： 新增全局系统配置参数
     * @作者： kjz
     * @日期： Created in 2020/9/11 12:03
     */
    public void insertGlobalSystemParam(GlobalSystemParam globalSystemParam) {
       String id = UUIDUtil.getUUID();
    	globalSystemParam.setId(id);
        globalSystemParam.setCreateTime(LocalDateTime.now());
        this.globalSystemParamMapper.insertSelective(globalSystemParam);
    }


	/**
	 * @方法名：updateGlobalSystemParam
	 * @描述： 更新全局系统配置参数
	 * @作者： kjz
	 * @日期： Created in 2020/9/11 12:05
	 */
    public void updateGlobalSystemParam(GlobalSystemParam globalSystemParam) {
    	if(globalSystemParam.getId()== null) {
			throw new CustomException(StatusCode.ID_IS_NULL);
    	}

        this.globalSystemParamMapper.updateByPrimaryKeySelective(globalSystemParam);
    }

    public GlobalSystemParam selectGlobalSystemParamListByCondition(GlobalSystemParam globalSystemParam) {
        return null;
    }

    
    public GlobalSystemParam selectGlobalSystemParamById(String id) {
    	if(id == null) {
			throw new CustomException(StatusCode.ID_IS_NULL);
    	}
    	GlobalSystemParam g = this.globalSystemParamMapper.selectByPrimaryKey(id);
    	if(g != null && !"".equals(g)) {
    		
    	}
    	return g;
    }

	public List<GlobalSystemParam> selectListAll() {
    	return globalSystemParamMapper.selectAll();
	}
}
